local start, duration = GetSpellCooldown("Mark of the Wild");
local gcd = start + duration;
local function GetCooldown(id)
  local start, duration = GetSpellCooldown(id);
  local cd = start + duration - gcd;
  if cd < 0 then
    return 0
  else
    return cd
  end
end

if (not (UnitExists("target") and UnitCanAttack("player", "target"))) or (UnitIsDeadOrGhost("target")) then
  return
end

local cdMangle = GetCooldown("Mangle");
if (cdMangle<=.2) then
    return IconSpell("Mangle", true);
end

local _, _, _, TrashDuration = IconAura("HARMFUL", "target", "Thrash", "player");
if (not TrashDuration) then
	local cdThrash = GetCooldown("Thrash");
	if (cdThrash<=.2) then
		return IconSpell("Thrash", true);
	end
end

local _, _, _, duration = IconAura("HARMFUL", "target", "Weakened Armor");
if (not duration) then
	local cdFF = GetCooldown("Faerie Fire");
	if (cdFF<=.2) then
		return IconSpell("Faerie Fire", true);
	end  
end

local cdMangle = GetCooldown("Lacerate");
if (cdMangle<=.2) then
    return IconSpell("Lacerate");
end


if (UnitPower("player")>95 and GetCooldown("Maul")<= 0) then
    return IconSpell("Maul");
end